home *** CD-ROM | disk | FTP | other *** search
/ JCSM Shareware Collection 1993 November / JCSM Shareware Collection - 1993-11.iso / cl720 / fast278j.lzh / DSCR.F < prev    next >
Text File  |  1992-10-05  |  1KB  |  81 lines

  1. ;===========================================================================
  2. ;Print screen utility to disk.
  3. ;===========================================================================
  4.  
  5. #short
  6. #inpend=0
  7.  
  8. setint 5 to printscr
  9. print bios "DSCR installed."
  10. pokeb 0|500h,0
  11. stop resident
  12.  
  13. ;===========================================================================
  14.  
  15. function filename_ok
  16.     {
  17.     if peekb (name+2)=0 then return 0
  18.     last=searchb 50 from name+2 for 0
  19.     len=last-(name+2)
  20.     place=searchb len from name+2 for '.'
  21.     if place=0 then
  22.     {
  23.     moveb 5 from ext_scr to last
  24.     }
  25.     return 1
  26.  
  27.     ext_scr: fname '.scr'
  28.     }
  29.  
  30. ;===========================================================================
  31.  
  32. buffer ? 25*82+1
  33.  
  34. printscr:
  35. pushall
  36. reg ds=reg cs
  37. if peekb 0|500h then goto exitscr
  38. video=0b800h-(800h*mono)+page*100h
  39. pokeb 0|500h,1
  40.  
  41. m=0:b=buffer
  42. repeat 25
  43.     {
  44.     ob=b
  45.     repeat 80
  46.     {
  47.     c=video[m]b:if (c=0) or (c=255) then c=' '
  48.     pokeb b,c
  49.     b++:m+=2
  50.     }
  51.     while (b>ob) and (peekb(b-1)=' ')  b--
  52.  
  53.     pokeb b,13:b++
  54.     pokeb b,10:b++
  55.     }
  56. pokeb b,26
  57.  
  58. oc=curpos
  59. open window wname
  60. cursor 20,28:inputs name
  61. #errors off
  62. if filename_ok then save name+2,buffer,(b+1)-buffer
  63. #errors on
  64. if error then beep:beep
  65. close window
  66. curpos=oc
  67.  
  68. pokeb 0|500h,0
  69.  
  70. exitscr:
  71. popall
  72. iret
  73.  
  74. wname:
  75. datab 0,0,10,18,69,22,30
  76. datab 22,2,2,'Filename [.scr]'
  77. datab 26
  78.  
  79. name:
  80. string 40
  81.